\hypertarget{group__systick__api}{
\section{Systick\_\-api}
\label{group__systick__api}\index{Systick\_\-api@{Systick\_\-api}}
}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{group__systick__api_ga6fa7e44c447e4f861e63a2bf4d175afd}{SysTickEnable} (void)
\item 
void \hyperlink{group__systick__api_ga0b993bfbd72abac7286c4f54369576f2}{SysTickDisable} (void)
\item 
void \hyperlink{group__systick__api_ga4921bef366ee31ca37ef271abecedcb5}{SysTickIntRegister} (void($\ast$pfnHandler)(void))
\item 
void \hyperlink{group__systick__api_ga606359e78b226889129995cf4f59ce09}{SysTickIntUnregister} (void)
\item 
void \hyperlink{group__systick__api_gae9621f9d2bcf0cfe021cd5b7ff98edcc}{SysTickIntEnable} (void)
\item 
void \hyperlink{group__systick__api_ga13ef9fe1d534da117371ae936bb089ee}{SysTickIntDisable} (void)
\item 
void \hyperlink{group__systick__api_gaae1f78b6632dd810b472ce894cfaefd1}{SysTickPeriodSet} (unsigned long ulPeriod)
\item 
unsigned long \hyperlink{group__systick__api_ga9b75aac0c4967b7b91627c625703e48b}{SysTickPeriodGet} (void)
\item 
unsigned long \hyperlink{group__systick__api_ga309c4f90e8d733117f1dff9b86cb2d1d}{SysTickValueGet} (void)
\end{DoxyCompactItemize}


\subsection{Function Documentation}
\hypertarget{group__systick__api_ga0b993bfbd72abac7286c4f54369576f2}{
\index{systick\_\-api@{systick\_\-api}!SysTickDisable@{SysTickDisable}}
\index{SysTickDisable@{SysTickDisable}!systick_api@{systick\_\-api}}
\subsubsection[{SysTickDisable}]{\setlength{\rightskip}{0pt plus 5cm}void SysTickDisable (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{group__systick__api_ga0b993bfbd72abac7286c4f54369576f2}
Disables the SysTick counter.

This will stop the SysTick counter. If an interrupt handler has been registered, it will no longer be called until SysTick is restarted.

\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__systick__api_ga6fa7e44c447e4f861e63a2bf4d175afd}{
\index{systick\_\-api@{systick\_\-api}!SysTickEnable@{SysTickEnable}}
\index{SysTickEnable@{SysTickEnable}!systick_api@{systick\_\-api}}
\subsubsection[{SysTickEnable}]{\setlength{\rightskip}{0pt plus 5cm}void SysTickEnable (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{group__systick__api_ga6fa7e44c447e4f861e63a2bf4d175afd}
Enables the SysTick counter.

This will start the SysTick counter. If an interrupt handler has been registered, it will be called when the SysTick counter rolls over.

\begin{DoxyNote}{Note}
Calling this function will cause the SysTick counter to (re)commence counting from its current value. The counter is not automatically reloaded with the period as specified in a previous call to \hyperlink{group__systick__api_gaae1f78b6632dd810b472ce894cfaefd1}{SysTickPeriodSet()}. If an immediate reload is required, the {\bfseries NVIC\_\-ST\_\-CURRENT} register must be written to force this. Any write to this register clears the SysTick counter to 0 and will cause a reload with the supplied period on the next clock.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__systick__api_ga13ef9fe1d534da117371ae936bb089ee}{
\index{systick\_\-api@{systick\_\-api}!SysTickIntDisable@{SysTickIntDisable}}
\index{SysTickIntDisable@{SysTickIntDisable}!systick_api@{systick\_\-api}}
\subsubsection[{SysTickIntDisable}]{\setlength{\rightskip}{0pt plus 5cm}void SysTickIntDisable (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{group__systick__api_ga13ef9fe1d534da117371ae936bb089ee}
Disables the SysTick interrupt.

This function will disable the SysTick interrupt, preventing it from being reflected to the processor.

\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__systick__api_gae9621f9d2bcf0cfe021cd5b7ff98edcc}{
\index{systick\_\-api@{systick\_\-api}!SysTickIntEnable@{SysTickIntEnable}}
\index{SysTickIntEnable@{SysTickIntEnable}!systick_api@{systick\_\-api}}
\subsubsection[{SysTickIntEnable}]{\setlength{\rightskip}{0pt plus 5cm}void SysTickIntEnable (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{group__systick__api_gae9621f9d2bcf0cfe021cd5b7ff98edcc}
Enables the SysTick interrupt.

This function will enable the SysTick interrupt, allowing it to be reflected to the processor.

\begin{DoxyNote}{Note}
The SysTick interrupt handler does not need to clear the SysTick interrupt source as this is done automatically by NVIC when the interrupt handler is called.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__systick__api_ga4921bef366ee31ca37ef271abecedcb5}{
\index{systick\_\-api@{systick\_\-api}!SysTickIntRegister@{SysTickIntRegister}}
\index{SysTickIntRegister@{SysTickIntRegister}!systick_api@{systick\_\-api}}
\subsubsection[{SysTickIntRegister}]{\setlength{\rightskip}{0pt plus 5cm}void SysTickIntRegister (
\begin{DoxyParamCaption}
\item[{void($\ast$)(void)}]{ pfnHandler}
\end{DoxyParamCaption}
)}}
\label{group__systick__api_ga4921bef366ee31ca37ef271abecedcb5}
Registers an interrupt handler for the SysTick interrupt.


\begin{DoxyParams}{Parameters}
\item[{\em pfnHandler}]is a pointer to the function to be called when the SysTick interrupt occurs.\end{DoxyParams}
This sets the handler to be called when a SysTick interrupt occurs.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__interrupt__api_ga471d00d73ae22faa426c202f608e9c69}{IntRegister()} for important information about registering interrupt handlers.
\end{DoxySeeAlso}
\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__systick__api_ga606359e78b226889129995cf4f59ce09}{
\index{systick\_\-api@{systick\_\-api}!SysTickIntUnregister@{SysTickIntUnregister}}
\index{SysTickIntUnregister@{SysTickIntUnregister}!systick_api@{systick\_\-api}}
\subsubsection[{SysTickIntUnregister}]{\setlength{\rightskip}{0pt plus 5cm}void SysTickIntUnregister (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{group__systick__api_ga606359e78b226889129995cf4f59ce09}
Unregisters the interrupt handler for the SysTick interrupt.

This function will clear the handler to be called when a SysTick interrupt occurs.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__interrupt__api_ga471d00d73ae22faa426c202f608e9c69}{IntRegister()} for important information about registering interrupt handlers.
\end{DoxySeeAlso}
\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__systick__api_ga9b75aac0c4967b7b91627c625703e48b}{
\index{systick\_\-api@{systick\_\-api}!SysTickPeriodGet@{SysTickPeriodGet}}
\index{SysTickPeriodGet@{SysTickPeriodGet}!systick_api@{systick\_\-api}}
\subsubsection[{SysTickPeriodGet}]{\setlength{\rightskip}{0pt plus 5cm}unsigned long SysTickPeriodGet (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{group__systick__api_ga9b75aac0c4967b7b91627c625703e48b}
Gets the period of the SysTick counter.

This function returns the rate at which the SysTick counter wraps; this equates to the number of processor clocks between interrupts.

\begin{DoxyReturn}{Returns}
Returns the period of the SysTick counter. 
\end{DoxyReturn}
\hypertarget{group__systick__api_gaae1f78b6632dd810b472ce894cfaefd1}{
\index{systick\_\-api@{systick\_\-api}!SysTickPeriodSet@{SysTickPeriodSet}}
\index{SysTickPeriodSet@{SysTickPeriodSet}!systick_api@{systick\_\-api}}
\subsubsection[{SysTickPeriodSet}]{\setlength{\rightskip}{0pt plus 5cm}void SysTickPeriodSet (
\begin{DoxyParamCaption}
\item[{unsigned long}]{ ulPeriod}
\end{DoxyParamCaption}
)}}
\label{group__systick__api_gaae1f78b6632dd810b472ce894cfaefd1}
Sets the period of the SysTick counter.


\begin{DoxyParams}{Parameters}
\item[{\em ulPeriod}]is the number of clock ticks in each period of the SysTick counter; must be between 1 and 16,777,216, inclusive.\end{DoxyParams}
This function sets the rate at which the SysTick counter wraps; this equates to the number of processor clocks between interrupts.

\begin{DoxyNote}{Note}
Calling this function does not cause the SysTick counter to reload immediately. If an immediate reload is required, the {\bfseries NVIC\_\-ST\_\-CURRENT} register must be written. Any write to this register clears the SysTick counter to 0 and will cause a reload with the {\itshape ulPeriod\/} supplied here on the next clock after the SysTick is enabled.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__systick__api_ga309c4f90e8d733117f1dff9b86cb2d1d}{
\index{systick\_\-api@{systick\_\-api}!SysTickValueGet@{SysTickValueGet}}
\index{SysTickValueGet@{SysTickValueGet}!systick_api@{systick\_\-api}}
\subsubsection[{SysTickValueGet}]{\setlength{\rightskip}{0pt plus 5cm}unsigned long SysTickValueGet (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{group__systick__api_ga309c4f90e8d733117f1dff9b86cb2d1d}
Gets the current value of the SysTick counter.

This function returns the current value of the SysTick counter; this will be a value between the period -\/ 1 and zero, inclusive.

\begin{DoxyReturn}{Returns}
Returns the current value of the SysTick counter. 
\end{DoxyReturn}
